/* 
 * File:   Repositorio.cpp
 * Author: gabilan
 * 
 * Created on 24 de mayo de 2013, 19:33
 */

#include "common_Repositorio.h"

Repositorio::Repositorio(const char* pPath){
    _path = pPath;
}

Repositorio::Repositorio (const string &pPath){
    _path = pPath;
}

bool Repositorio::ExisteRepoItem(const string & filename)
{
    SetRepoItem::iterator it = this->lista_archs.begin();
    bool encontrado = false;
    while(!encontrado && it != this->lista_archs.end())
    {
        RepoItem * rep = *it;
        if(rep->GetFilename() == filename) encontrado = true;
        else it++;
    }
    return encontrado; 
}

RepoItem* Repositorio::GetRepoItemByPath(const string & path)
{
    SetRepoItem::iterator it = this->lista_archs.begin();
    bool encontrado = false;
    while(!encontrado && it != this->lista_archs.end())
    {
        RepoItem * rep = *it;
        if(rep->GetFilePath() == path) encontrado = true;
        else it++;
    }
    if(encontrado) return *it;
    else return NULL;
}

RepoItem* Repositorio::GetRepoItemByFilename(const string & filename)
{    
    SetRepoItem::iterator it = this->lista_archs.begin();
    bool encontrado = false;
    while(!encontrado && it != this->lista_archs.end())
    {
        RepoItem * rep = *it;
        if(rep-> GetFilename() == filename) encontrado = true;
        else it++;
    }
    if(encontrado) return *it;
    else return NULL;
}





Repositorio::~Repositorio() {
    if(!this->lista_archs.empty())
    {
        SetRepoItem::iterator it;
        for(it = this->lista_archs.begin(); it != this->lista_archs.end();it++)
        {
            RepoItem * r = *it;
            delete(r);
        }
        this->lista_archs.clear();
    }
}

